#ifndef __VISUAL_H__
#define __VISUAL_H__

#include <allegro.h>

using namespace std;

class Visual{
    private:
        //valores de inicio de modo grafico
        int x,y,c;
        //valores para coordenadas
        int posx,posy,posx1,posy1,color;
        //Utilizado para comprobar inicio del modo grafico
        int comprobar;
        char *palabra;
        BITMAP* fondo;
        PALLETE paleta; 

    public:
        //constructor parametrizado para el inicio del modo grafico
        Visual(int,int,int);
        Visual();
        void start();//metodo que inicia el modo grafico
        void cargar_teclado();
        void cargar_mouse();
        char* getcadena();//obtener palabra
        void mensaje(char*,int,int,int);
        void setcadena(char*);//no esta operativa en esta clase
        void end();//metodo que finaliza el modo grafico
        void mensaje_pantalla(char*);//metodo para mostrar mensajes en pantalla
        void cargar_imagen(char*);
        void destuir_imagen();
        /*char* gets(char *cadena, int x, int y, int color){
           unsigned int caracter, i = 0;
           BITMAP *temp;
           temp = create_bitmap(SCREEN_W-x,font->height);
           blit(screen,temp,x,y,0,0,temp->w,temp->h);
           text_mode(-1);
           textout(screen,font,"_",x,y,color);
           do{
              caracter = (readkey() & 0xff);//0xff permite pintar en pantalla el caracter
              if(caracter!=13){
                 if(caracter==8 && i>=1){     //si presionan backspace
                    caracter = cadena[--i];
                    cadena[i] = '\0';
                    blit(temp,screen,0,0,x,y,temp->w,temp->h);
                    textprintf(screen,font,x,y,color,"%s_",cadena);
                 }
                 else{                      //si es otra tecla
                    cadena[i] = caracter;
                    cadena[++i] = '\0';
                    blit(temp,screen,0,0,x,y,temp->w,temp->h);
                    textprintf(screen,font,x,y,color,"%s_",cadena);
                 }
              }
           }while(caracter!=13);
           cadena[i] = '\0';
           blit(temp,screen,0,0,x,y,temp->w,temp->h);
           textprintf(screen,font,x,y,color,"%s",cadena);
           destroy_bitmap(temp);
           return(cadena);
        }//metodo para escribir en pantalla*/
        ~Visual();
};

#endif
